---
id: 5f07be6ef7412fbad0c5626b
title: ステップ 16
challengeType: 0
dashedName: step-16
---

# --description--

新しいコンテンツを追加する前に、`section` 要素を利用して猫の写真とこれから追加するコンテンツを分けましょう。

`section` 要素は、ドキュメント内のチャプター、ヘッダー、フッターなどのセクションを定義するために使われます。 これは、SEO とアクセシビリティに役立つセマンティック要素です。

```html
<section>
  <h2>Section Title</h2>
  <p>Section content...</p>
</section>
```

コード内にある `h2` 要素、コメント、`p` 要素、アンカー (`a`) 要素をまとめて、1 つの `section` 要素の中にネストしてください。

# --hints--

`section` 要素には開始タグが必要です。 開始タグは `<elementName>` のような形式の構文です。

```js
assert(document.querySelector('section'));
```

`section` 要素には終了タグが必要です。 終了タグは `<` の直後に `/` があります。

```js
assert(code.match(/<\/section\s*>/i));
```

`section` 要素全体が、`main` 要素の開始タグと終了タグの間にあるようにしてください。

```js
assert(document.querySelector('section').parentNode.nodeName === 'MAIN');
```

既存の `h2` 要素、コメント、`p` 要素、アンカー (`a`) 要素を、`section` 要素の開始タグと終了タグの間に入れてください。

```js
const childrenOfSection = [...document.querySelector('section').childNodes];
const foundElements = childrenOfSection.filter((child) => {
  return ['H2', 'A', 'P'].includes(child.nodeName);
});
assert(foundElements.length === 3);
```

`h1` 要素は `section` 要素の中にネストしないでください。

```js
const childrenOfSection = [...document.querySelector('section').childNodes];
const includesH1 = childrenOfSection.some((child) => child.nodeName === 'H1');
assert.isFalse(includesH1);
```

# --seed--

## --seed-contents--

```html
<html>
  <body>
    --fcc-editable-region--
    <main>
      <h1>CatPhotoApp</h1>

      <h2>Cat Photos</h2>
      <!-- TODO: Add link to cat photos -->
      <p>See more <a target="_blank" href="https://freecatphotoapp.com">cat photos</a> in our gallery.</p>
      <a href="https://freecatphotoapp.com"><img src="https://cdn.freecodecamp.org/curriculum/cat-photo-app/relaxing-cat.jpg" alt="A cute orange cat lying on its back."></a>

    </main>
--fcc-editable-region--
  </body>
</html>
```

